package cn.iocoder.yudao.module.cmt.dal.dataobject.activity;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * ActivitySignup DO
 *
 * @author 芋道源码
 */
@TableName("cmt_activity_signup")
@KeySequence("cmt_activity_signup_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivitySignupDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 社区ID
     */
    private Long communityId;
    /**
     * 社区名称
     */
    @TableField(exist = false)
    private String communityName;
    /**
     * 商户ID
     */
    private Long merchantId;
    /**
     * 商户名称
     */
    @TableField(exist = false)
    private String merchantName;
    /**
     * 活动ID
     */
    private Long activityId;
    /**
     * 活动标题
     */
    @TableField(exist = false)
    private String activityTitle;
    /**
     * 会员ID
     */
    private Long userId;
    /**
     * 参与人员ID(如为他人报名)
     */
    private Long personId;
    /**
     * 报名时间
     */
    private LocalDateTime signupTime;
    /**
     * 审核状态：0待审核 1通过 2拒绝
     */
    private Integer auditStatus;
    /**
     * 签到状态：0未签到 1已签到
     */
    private Integer checkinStatus;
    /**
     * 签到时间
     */
    private LocalDateTime checkinTime;
    /**
     * 已发放积分
     */
    private Integer pointAwarded;
    /**
     * 已发放经验
     */
    private Integer experienceAwarded;
    /**
     * 取消状态：0正常 1已取消
     */
    private Integer cancelStatus;
    /**
     * 取消时间
     */
    private LocalDateTime cancelTime;
    /**
     * 取消原因
     */
    private String cancelReason;

}
